วิธีการสร้าง Amazon EFS และเชื่อมต่อกับ EC2

วิธีการสร้าง Amazon EFS และเชื่อมต่อกับ EC2

Amazon Elastic File System (Amazon EFS) เป็นระบบไฟล์ที่ยืดหยุ่น เรียบง่าย ไร้เซิร์ฟเวอร์ ซึ่งจะเพิ่มและลดขนาดโดยอัตโนมัติเมื่อคุณเพิ่มและลบไฟล์ โดยที่คุณไม่จำเป็นต้องจัดการหรือจัดเตรียมใดๆ
Clock Icon2021.11.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ครั้งนี้ ผมจะมาเขียนบทความเกี่ยวกับการสร้าง Amazon EFS และทำการเชื่อมต่อกับ EC2

Amazon EFS คืออะไร?

Amazon EFS (Elastic File System) คือ บริการ NFS (Network File System) บน AWS

พื้นที่จัดเก็บที่สามารถเชื่อมต่อกับเครือข่ายอื่นๆ เช่น EC2 ได้โดยตรง

  • เชื่อถือได้เนื่องจากข้อมูลอยู่ใน AZ หลายแห่ง (ความทนทาน 99.999999999%)
  • ดิสก์กลางสําหรับใช้ร่วมกันที่สามารถเชื่อมต่อจาก EC2 ได้หลายตัว
  • คิดราคาตามขนาดของไฟล์ที่จัดเก็บ
  • ปรับขนาดเป็นเพตะไบต์โดยอัตโนมัติ คุณจึงใช้งานได้อย่างไม่จํากัดความจุ

ตารางเปรียบเทียบ EFS, EBS, S3

table-efs-ebs-s3

สิ่งที่ต้องมี

1. EC2 Instance

ให้ทำการติดตั้ง EC2 Instance ก่อน สำหรับเพื่อนๆ ที่ยังไม่ได้ทำการติดตั้ง สามารถดูขั้นตอนได้ที่ลิงก์ วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy นี้ได้เลย

เมื่อทำการติดตั้ง EC2 Instance เรียบร้อยแล้ว Security Group ที่ชื่อว่าec2-tinnakornหรือชื่อ EC2 Instance ของเพื่อนๆ จะถูกตั้งค่าเป็น Default โดยอัตโนมัติ

2. เป้าหมายในการสร้าง EFS และเชื่อมต่อไปยัง EC2

SG-EFS

ถ้าพร้อมแล้วเรามาเริ่มทำตามขั้นตอนในหัวข้อถัดไปได้เลย

สร้าง Security Group ที่ใช้สำหรับ EFS

ไปที่ช่องค้นหา พิมพ์?︎ EC2» เลือกEC2
E-K-1

มาที่หัวข้อ ▼ Network & Security เลือกSecurity Groups
C-SG-EFS-1

คลิกCreate security group
C-SG-EFS-2

ในส่วนของ Basic details ให้ตั้งค่าตามนี้
» Security group name:tinnakorn-efs
» Description:tinnakorn-efs
C-SG-EFS-3-1

เลื่อนลงมาด้านล่าง มาที่ Inbound rules แล้วตั้งค่าตามนี้
» คลิกAdd rule
» Type:NFS ▼
» Source:Custom ▼
» ค้นหาชื่อของเรา เช่น? tinnakorn
» Description - optional จะใส่หรือไม่ใส่ก็ได้
C-SG-EFS-4-1

เลื่อนลงมาด้านล่างสุด มาที่ Tags - optional แล้วตั้งค่าตามนี้
» Key:? Name
» Value - optional:tinnakorn-efs
» คลิกCreate security group
C-SG-EFS-5-1

เมื่อสร้าง Security group เสร็จแล้ว จะได้หน้าตาแบบนี้
C-SG-EFS-6-1

ขั้นตอนการสร้าง EFS

ไปที่ช่องค้นหา พิมพ์? EFS» เลือกEFS
C-EFS-1

คลิกCreate file system
C-EFS-2

» Name - optional:tinnakorn-efs
» เลือกCreate
C-EFS-3-1

คลิกที่ชื่อ EFS ของเรา เช่นtinnakorn-efs
C-EFS-4-1

เลื่อนลงมาด้านล่างสุด แล้วเลือกหัวข้อ Network จากนั้นให้ดูที่คอลัมน์ Mount target state จะเห็นว่ามีสถานะเป็น Creating ต้องรอจนกว่าจะขึ้นAvailable
C-EFS-5-1

เมื่อขึ้น Available แล้วให้คลิกManage
C-EFS-6-1

ให้ลบ Security groups ของ Default ออกให้หมดโดยการคลิก✕ กากบาทตามรูปภาพ
C-EFS-7

จากนั้นให้คลิกที่Choose security groups ▼แล้วค้นหาชื่อ security groups ที่สร้างไว้ก่อนหน้านี้ เช่น? tinnakorn-efsแล้วเลือก security groups ที่เป็นชื่อของเราทั้งหมด 3 โซน
C-EFS-8-1

เราจะใช้ security groups ที่สร้างไว้สำหรับ EFS ทั้งหมด 3 โซนตามรูปภาพ จากนั้นคลิกSave
C-EFS-9-1

เมื่อสร้าง EFS เสร็จแล้วก็จะได้หน้าตาเหมือนรูปภาพ จากนั้นให้ Copy ID EFS ตามส่วนที่มาร์คไว้เพื่อนำไปใช้ในหัวข้อถัดไป และนำไปวางที่ Notepad ก่อนก็ได้
C-EFS-10-1

ขั้นตอนการติดตั้ง Attach EFS จาก EC2

ขั้นตอนต่อไปให้กลับไปที่โปรแกรม PuTTy
สำหรับ PuTTy ของเพื่อนๆ ที่เป็น
[ec2-user@ip-123-45-67-890 ~]$
ให้เปลี่ยนเป็น
[root@ip-123-45-67-890 ~]#
ด้วยคำสั่งนี้ทุกครั้งก่อนที่จะทำการตั้งค่าหรือจัดการ Server

sudo su -

C-EFS-10-2

ทำการติดตั้ง EFS เข้าไปใน EC2 เพื่อทำการเชื่อมต่อด้วยคำสั่งนี้

yum install amazon-efs-utils -y

C-EFS-11-1

เรียกใช้คำสั่งนี้เพื่อตรวจสอบ Filesystem ที่อยู่ใน EC2 Instance ของเรา
จะเห็นว่าพื้นที่จัดเก็บข้อมูลจะเป็นของ EC2 อย่างเดียว

df

C-EFS-12-1

ต่อไปเราจะทำการเชื่อมต่อและเพิ่มพื้นที่จัดเก็บ EFS เข้าไปยัง EC2 เรียกใช้คำสั่งนี้เพื่อสร้างโฟลเดอร์

mkdir -p /mnt/efs

C-EFS-13

เรียกใช้คำสั่งนี้เพื่อแก้ไขไฟล์ fstab

vi /etc/fstab

C-EFS-14

เมื่อเข้ามาในไฟล์ fstab แล้วให้แก้ไขไฟล์ตามนี้
ก่อนที่จะแก้ไขเราต้องเตรียม Code ไว้ดังนี้

# ID ที่ได้จากการสร้าง EFS
fs-00*************a6

# ap-southeast-1 นี้เป็นโซนของ Singapore ซึ่งเราต้องนำ Code นี้ไปต่อท้าย ID ของ EFS
.efs.ap-southeast-1.amazonaws.com:/ /mnt/efs efs defaults,_netdev 0 0

# นำ ID กับ Code มารวมกันตามนี้
fs-00*************a6.efs.ap-southeast-1.amazonaws.com:/ /mnt/efs efs defaults,_netdev 0 0

ต่อไปมาเริ่มแก้ไขไฟล์ fstab ได้เลย
» กดปุ่มiให้ขึ้น-- INSERT --
» นำ ID กับ Code ที่รวมกันไว้แล้วมาวางในบรรทัดสุดท้ายเสมอ (*ในกรณีที่มีการทำ Swap Memory หรืออื่นๆ ที่ทำให้มีข้อมูลที่แสดงเพิ่มขึ้นมา ไม่ต้องสนใจ สามารถวางในบรรทัดสุดท้ายได้เลย)
C-EFS-15-1

ต่อมาให้กดปุ่มEscแล้วคำว่า-- INSERT --จะหายไป
ตามด้วยพิมพ์:wqหรือ:xเพื่อบันทึกและออกจากไฟล์ fstab
C-EFS-16-1

เรียกใช้คำสั่งนี้เพื่อเปิดการใช้งานพื้นที่เก็บข้อมูล EFS ไปยัง EC2

mount -a

C-EFS-17-1

เรียกใช้คำสั่งนี้เพื่อตรวจสอบ Filesystem อีกครั้ง จะเห็นว่ามีพื้นที่เก็บข้อมูลของ EFS เพิ่มขึ้นมาใน EC2 แล้ว

df

C-EFS-18-1

สรุป

ระบบไฟล์ Amazon EFS สามารถจัดเก็บข้อมูลได้ถึงระดับเพตะไบต์ ระบบไฟล์ Amazon EFS มีความยืดหยุ่นและสามารถขยายและลดขนาดได้อัตโนมัติตามการเพิ่มและการลบไฟล์ คุณไม่ต้องจัดเตรียมขนาดระบบไฟล์ล่วงหน้า และจ่ายเฉพาะสิ่งที่คุณใช้เท่านั้น

บทความที่เกี่ยวข้อง

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.